//
//  CoverKeyboard.m
//  MooreDoll
//
//  Created by 郭景豪 on 2014/11/26.
//  Copyright (c) 2014年 Tank. All rights reserved.
//

#import "CoverKeyboard.h"

@implementation CoverKeyboard
+(void)scrollView:(UIScrollView *)scrollView textField:(UITextField *)textField notification:(NSNotification *)notification view:(UIView *)view
{
    NSDictionary* info = [notification userInfo];
    //NSLog(@"%@",info);
    
    CGRect kbRect = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
    kbRect = [view convertRect:kbRect fromView:nil];//轉換座標 是說kbRext再self.view 上的座標是在哪裡
    //NSLog(@"%@",NSStringFromCGRect(kbRect));
    
    UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbRect.size.height, 0.0);//上左下右
    
    //把ScrollrView 加入內容 高度
    scrollView.contentInset = contentInsets;
    scrollView.scrollIndicatorInsets = contentInsets;
    
    CGRect aRect = view.frame;
    
    //取得剩餘高度 ＝ 畫面高度減鍵盤高度
    aRect.size.height -= kbRect.size.height;
    
    //rect是判断对象的frame，有点像碰撞检测的感觉，意思就是当point的位置在rect里面就返回yes，否则返回no。
    //這邊就是說 當我的畫面只剩下 {320, 352} 然後 self.activeField.frame.origin 在這個座標範圍內 就為yes 所以說 當為no的時候 就表示 文字框不在這範圍 我們就看不到 意思就是被keyboard擋住了
    if (textField!=nil) {
        NSLog(@"%@",NSStringFromCGRect(aRect));
        if (!CGRectContainsPoint(aRect, textField.frame.origin) ) {
            //將ScrollView 移入到 鍵盤
            [scrollView scrollRectToVisible:textField.frame animated:YES];
        }
    }

}
@end
